package jfuzzyprincepless.zarchive.algorithm.structure;

import java.util.Collections;
import java.util.List;

import jfuzzyprincepless.negotiation.IExecutionContext;
import jfuzzyprincepless.algorithm.structure.IConstruction;

public interface ICommandConstruction
	extends IConstruction
{
	public static final ICommandConstruction[]
		EMPTY_ARRAY = new ICommandConstruction[0];
	public static final List<ICommandConstruction>
		EMPTY_LIST = Collections.emptyList();

	/**
	 * executes the command
	 * arguments must be set and result may be get
	 * with fields of ICommandConstruction - object
	 */
	public void execute(IExecutionContext context);
}
